在VS2019平台上,利用三菱提供的 MX Component 软件,应用C#编程,实现计算机与PLC以太网通信。MX Component 软件支持PLC与计算机的所有通信路径并通过简单设置就能进行通信,可以不用了解复杂的通信协议,因此系统的开发效率大幅提高。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
namespace PLC以太网通信
{
public partial class FormMain : Form
{
public FormMain f1;
public int LogicalStationNumber = 0;
public bool lab_Station_Run = false;
short flag = 0;
short flag1 = 0;
short flag2 = 0;
short flag3 = 0;
int x1,x2;
static float x;
static float y;
int[][] con;
float[] cc;
public FormMain()
{
InitializeComponent();
// this.BackgroundImage = Image.FromFile(@"aa.jpg");//加载背景图片
}
private void FormMain_Load(object sender, EventArgs e)
{
///获取本地的IP地址
string AddressIP = string.Empty;
foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList)
{
if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
{
AddressIP = _IPAddress.ToString();
txt_IP.Text = AddressIP;
}
}
timer1.Interval = 100; //读取间隔100毫秒
timer1.Enabled = true;
// 常规一般的有Maxinized和mininized的窗
// this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;//设置无边框
this.WindowState = FormWindowState.Maximized;//设置最大化
x = this.Width;
y = this.Height;
con=new int[Controls.Count][];
cc = new float[Controls.Count];
for (int i = 0; i < Controls.Count; i )
{
con[i] = new int[4];
con[i][0] = Controls[i].Top;
con[i][1] = Controls[i].Height;
con[i][2] = Controls[i].Left;
con[i][3] = Controls[i].Width;
cc[i] = Controls[i].Font.Size;
}
}
评论